package pt.nmfa.peste.client.services.devicemanagement;

import java.util.List;

import javax.ejb.Local;

import pt.nmfa.peste.client.bean.ActionParametersDO;
import pt.nmfa.peste.client.bean.DeviceActionsDO;
import pt.nmfa.peste.client.bean.DeviceDO;

import com.google.gwt.user.client.rpc.AsyncCallback;

@Local
public interface DeviceManagementAsync {
	
	void getDevices(AsyncCallback<List<DeviceDO>> callback);

	void createDevice(DeviceDO deviceDO, AsyncCallback<Void> callback);

	void createDeviceActions(DeviceActionsDO deviceDO,AsyncCallback<Void> callback);

	void deleteDeviceActions(int deviceID, AsyncCallback<Void> callback);

	void getDevice(int deviceID, AsyncCallback<DeviceDO> callback);

	void getDeviceActionsList(int deviceID,	AsyncCallback<List<DeviceActionsDO>> callback);

	void deleteDevice(int deviceID, AsyncCallback<Void> callback);

	void updateDevice(DeviceDO deviceDO, AsyncCallback<Void> callback);

	void updateDeviceActions(DeviceActionsDO deviceActionsDO,AsyncCallback<Void> callback);
	
	void importLircConfig(int deviceId,String file,AsyncCallback<Void> callback);
	
	void getDeviceActionsParametersList(int deviceActionsID,AsyncCallback<List<ActionParametersDO>> callback);
	

	
}
